// 基础类型

/// 布尔值
let falg: Boolean = false;

/// 数字类型
let nums1: number = 1;
let nums2: number = 0xf00d;
let nums3: number = 0b1010;
let nums4: number = 0o744;
let nums5: number = 10010;

///字符串
let str1: String;
str1 = "靓仔徐";
let str2: String = "字符串2";
let str3: String = `hi，你见过${str1}吗？`; // print: hi，你见过靓仔徐吗？

///数组
let list1: number[] = [0, 1, 2];
let list2: Array<number> = [1, 2, 3];
let list3: [number, string, number];
list3 = [2, "2", 2]; //不是按照这个顺序和这个长度，都会报错

///枚举
// enum类型是对JavaScript标准数据类型的一个补充
enum Color {
  Red,
  Green,
  Blue,
}
enum Enum {
  A = "吃饭",
  B = "吃饭饭",
  C = "吃饭饭饭",
}
let c: Color = Color.Green;

///any  是不是有javaScript的味儿了？ 但是不推荐使用
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false;

let list: any[] = [1, true, "free"];
list[1] = 100;

/// Void Null Undefined Never  一般来讲没什么用 一个没返回值 一个返回值就是自身 一个是永无止境（无限死循环

///Object
//object表示非原始类型，也就是除number，string，boolean，symbol，null或undefined之外的类型。

declare function create(o: object | null): void;

console.log("123");
